package br.com.eSink.dao;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class KeyDao {

    Statement stmt;
    Connection con;

    public KeyDao(Connection con) throws SQLException {
        this.con = con;
        this.stmt = con.createStatement();
    }

    public void createColumn(String column) throws SQLException {
        try {
            stmt.execute("ALTER TABLE DIRETORIO ADD diretorio_" + column
                    + " varchar(500)");
            System.out.println("Coluna diretorio_" + column + " criada.");
        } catch (Exception ex) {
            System.out.println("Erro ao criar coluna. " + ex);
            try {
                stmt.execute("CREATE TABLE DIRETORIO ( diretorio_" + column + " varchar(500) )");
                System.out.println("Tabela DIRETORIO e primeira coluna ( " + column + " ) criada.");
            } catch (Exception e) {
                System.out.println("Erro ao criar tabela. " + e);
                System.out.println("CREATE TABLE DIRETORIO ( diretorio_" + column + " varchar(500) )");
            }
        }
    }

    public void addKey(String valueKey, String valueName) throws SQLException {
        try {
            stmt = con.createStatement();
            stmt.executeUpdate("INSERT INTO CHAVE (CHAVE_ANDROID_CRIP,NOME) VALUES ('" + valueKey + "', '" + valueName + "')");
            System.out.println("Inserção concluída! Tabela: CHAVE, Colunas: CHAVE_ANDROID_CRIP e NOME, Valores: " + valueKey + " e " + valueName);
        } catch (Exception e) {
            System.out.println("Erro na inserção: " + e);
        }
    }

    public boolean searchKey(String key) throws SQLException {
        try {
            ResultSet res;
            stmt = con.createStatement();
            res = stmt.executeQuery("select * from CHAVE WHERE CHAVE LIKE '%" + key + "%'");
            while (res.next()) {
                System.out.println("Chave encontrada!");
                return true;
            }
        } catch (Exception e) {
            System.out.println("Erro na pesquisa: " + e);
        }
        return false;
    }
}
